#pragma once
#include <opencv2/opencv.hpp>
#include <stdint.h>
#include "Camera.h"
#include "search_line.h"
#include "Function.h"
#include "System.h"
#include "Element.h"
#include "midline_process.h"
#include "DataStore.h"

#define MT9V03X_W 188
#define MT9V03X_H 120
#define MT9V03X_IMAGE_SIZE      (MT9V03X_W * MT9V03X_H)
extern uint8_t mt9v03x_image[MT9V03X_H][MT9V03X_W];
extern uint8_t mt9v03x_finish_flag;

extern cv::Mat colorImage;
void OpenCV_Inverse(void);//将处理后的图像经过OpenCV逆转
void OpenCV_DrawLine(uint8_t (* ipts)[2],uint8_t * ipts_num,uint8_t blue,uint8_t green,uint8_t red);
void OpenCV_Transfer(uint8_t mt9v03x_image[][MT9V03X_W],const cv::Mat& sourceImage);//opencv数据转换

void draw_maze(uint8_t choice);
